Simulation device

ABSTRACT

A simulation device for simulating an operation of system constituted by a plurality of machines such as robots at low cost. An operation program is executed by an arithmetic processing unit in a controller of a machine or by an information processing device having a function of analyzing the operation programs equivalent to the controller of the machine, to obtain operation command data for the machine. The obtained operation command data of the machine with lapsing time information are received by the simulation device and stored as historical data. Operation programs of all of the machines constituting the system are executed to obtain historical data of operations of all of the machines. The collected historical data are united by arranging the data in time series from a start of simultaneous operation of the machines based on the lapsing time information. Images of three-dimensional models of the machines are displayed by animation based on the united historical date of the system to simulate the operation of the system. It is not necessary for one arithmetic processing unit to execute the operation programs for the plurality of machines at a time, so that the simulation device is provided at low cost.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a simulation device forsimulating operations of machines such as robots and machine tools whichoperate in accordance with operation programs.

[0003] 2. Description of Related Art

[0004] As a simulation device for simulating operations of machineswhich operate in accordance with respective operation programs, there isknown a simulation device for simulating operations of robots. Theconventional simulation device for robots is required to have a highinformation processing capability since it is necessary to performcomplicated arithmetic processing at high speed. Therefore, in the caseof performing simulation of a robot system comprising a plurality ofrobots, it has been necessary to use a computer having high informationprocessing capability and thus high price. Further, there is adifficulty of performing a simulation of a robot system comprising agreat number of robots because of a limitation of the informationprocessing capability of the computer.

SUMMARY OF THE INVENTION

[0005] An object of the present invention is to provide a simulationdevice for simulating an operation of a system comprising a plurality ofmachines such as robots and machine tools at low cost without using acostly computer having a high information processing capability.

[0006] A simulation device of the present invention performs simulationof operations of a plurality of machines which operate in accordancewith operation programs. The simulation device comprises: operationprogram providing means for providing operation programs to arithmeticprocessing means for obtaining lapsing time information of operations ofthe machines and positional information of the machines associated withthe lapsing time information; receiving means for receiving the lapsingtime information and the positional information obtained by thearithmetic processing means; uniting means for uniting the positionalinformation of the plurality of machines received by the receiving meansin the order of lapsing time in simultaneous operations of the machinesusing the lapsing time information in the operations of the plurality ofmachines received by the receiving means; and display control means forsimultaneously displaying modeled images of the plurality of machines ona display device by animation based on the positional information of theplurality of machines united by the uniting means to thereby simulatethe simultaneous operations of the plurality of machines.

[0007] Since the positional information of the plurality of machinescollected separately is united based on the lapsing time informationrespectively associated with the positional information, the operationsof the plurality of machines are simultaneously simulated with thesimulation device of low price.

[0008] The operation program providing means for providing operationprograms to arithmetic processing means may be omitted from thesimulation device. In this case, the operation programs may be providedto the arithmetic processing means in controllers of the machine or theinformation processing devices from respective storage devices orstorage medium.

[0009] The simulation device may include the arithmetic processing meansto enable the simulation of the simultaneous operations of the pluralityof machines without the controllers of machines or the informationprocessing devices.

[0010] The lapsing time information may be one of time information inexecution of the operation program, lapsing time from a start ofexecution of the operation program, and receiving time of the positionalinformation by the receiving means.

[0011] The simulation device may be divided into a first simulatingsection having the operation program providing means, the receivingmeans and the uniting means; and a second simulating section having thedisplay control means. In this case also, the operation programproviding means may be omitted from the first simulating section.

[0012] The operation program may include an interlock command for theplurality of machines and in this case, the display control meansdisplays modeled images of the plurality of machines on the displaydevice by animation taking account of the interlock command.

[0013] The arithmetic processing means may includes a controller of themachine and an information processing device having the arithmeticprocessing means equivalent to the controller of the machine. Themachines may be industrial robots or machine tools.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014]FIG. 1 is a schematic block diagram of a simulation deviceaccording to a first embodiment of the present invention;

[0015]FIG. 2 is a schematic block diagram showing a simulation device ina machine system according to a second embodiment of the presentinvention;

[0016]FIG. 3 is a schematic block diagram showing simulation devices ina machine system according to a third embodiment of the presentinvention;

[0017]FIG. 4 is a flowchart of processing for collecting and unitinghistorical data of operations of machines;

[0018]FIG. 5 is a flowchart of processing for execution of simulation ofoperations of the machines based on the united historical data;

[0019]FIG. 6 is a schematic diagram showing an example of historicaldata of operations of the machines; and

[0020]FIG. 7 is a schematic diagram showing an example of the unitedhistorical data.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0021]FIG. 1 shows a simulation device according to a first embodimentof the present invention. A simulation device 1 is constituted by apersonal computer (PC) having a display device 3 and a computer body 2.The computer body 2 comprises an arithmetic processing section 6, a datastorage section 5 and an animation display control section 4. Thearithmetic processing section 6 has a data processing function ofanalyzing an operation program to obtain operational command data(positional information and control information) for a machineequivalent to data processing function of a controller for controllingthe machine.

[0022] For simulating an operation of a manufacturing system comprisinga plurality of machines such as robots and machine tools, an operationprogram for one of the machines constituting the system is inputted tothe simulation device 1 through a communication line or a storagemedium. The arithmetic processing section 6 analyzes the operationprogram to obtain operation command data (e.g. positional information onrespective axes of the machine and control information such as aninterlock command for queuing processing) for the machine successivelyand the obtained operation command data with lapsing time informationfrom a start of the execution of the operation program are storedsuccessively in the data storage section 5.

[0023] Likewise, an operation program for another machine in the systemis inputted to the simulation device 1 and the operation program isanalyzed by the arithmetic processing section 6 to successively obtainoperation command data for another machine and the obtained operationcommand data with lapsing time information from a start of the executionof the operation program are stored in the data storage section 5.Subsequently, operation programs for the rest of the machines aresuccessively executed to obtain operation command data for all of themachines with lapsing time information from respective starts of theexecution of the operation programs.

[0024] The animation display control section 4 unites the operationcommand data for the machines stored in the data storage section 5 intime series by rearranging the operation command data in the order oflapsing time from a start of the simultaneous operations of the machinesbased on the lapsing time information stored in the data storage section5, and displays images 7 and 8 of three-dimensional models of themachines by moving the images 7 and 8 based on the united operationcommand data of the machines, to simulate the operation of the machinesystem. In the case where the operation program includes an interlockcommand, interlock processing by the interlock command is displayed as acode indicating contents of the interlocking processing. Further, loci 7a an 8 a of controlled points of the machine 7 and 8, respectively, aredisplayed. In the example shown in FIG. 1, two robots constitute asystem

[0025]FIG. 2 shows a simulation device in a network of controllers ofmachines according to a second embodiment of the present invention. Asimulation device 11 in this embodiment may have the same hardwarearchitecture including the arithmetic processing section 6 as thesimulation device 1 shown in FIG. 1, or may not have the arithmeticprocessing section 6. The arithmetic processing performed by thearithmetic processing section 6 can be performed by an arithmeticprocessing device provided out of the simulation device 11 in thisembodiment.

[0026] The simulation device 11 is connected with controllers 12 formachines such as robots and machine tools through a communication line14 and also connected with a control simulator 13 which has the functionof the arithmetic processing section 6 in the simulator 1 for analyzingthe operation program for the machine to obtain operation command data.

[0027] In this embodiment, operation programs for the machines arerespectively inputted to the controllers 12 and the control simulator 13from the simulation device 11 through the communication line 14. In thecase of the simulation device 11 having the arithmetic operation section6, an operation program may be inputted to the arithmetic operationsection 6 of the simulation device 11.

[0028] The arithmetic processing sections in the controllers 12 of themachines and the operation simulator 13 respectively analyze theinputted operation programs, and the obtained operation command data aresent to the simulation device 11. In the case of the simulation device11 having the arithmetic operation section 6, the arithmetic processingsection 6 analyzes the inputted operation program and obtained operationcommand data are stored in the data storage section 5 of the simulationdevice 11. The simulation device 11 unites the operation command datastored in the data storage section 5 in the order of lapsing time from astart of the simultaneous operations in time series base on the lapsingtime information associated with the respective operation command data.Then, the simulation device 11 simulates the operations of the machinesby displaying images of the three-dimensional models of the machines byanimation based on the united operation command data of the machines intime series from the simultaneous start of the operations. In the casewhere the operation program includes an interlock command for commandinginterlock processing, the code indicating the interlock processing isdisplayed.

[0029]FIG. 3 shows a third embodiment in which the simulation device isdivided into two simulating sections of a first simulation device 22 anda second simulation device 21. As shown in FIG. 3, the first simulationdevice 22, the second simulation device 21, controllers 23 of machinesand a control simulator 24 are connected with one another through acommunication line 25. In this embodiment, the function of thesimulation device 11 in the second embodiment is divided and assigned tothe two simulation devices 21 and 22. Specifically, the first simulationdevice 22 performs the processing of collecting and uniting theoperation command data of the machines and the second simulation device21 performs the processing for simulation of the operations of themachines based on the united operation command data of the machines.

[0030] The first simulation device 22 sends operation programs to thecontrollers 23 of the machines constituting the system, the controlsimulator 24 for executing the operation program in place of thecontroller to obtain the operation command data, and further thearithmetic processing sections 6 in the simulation devices 22 and 21,and commands the controllers 23, the control simulator 24 and furtherthe arithmetic processing section 6 in the simulation devices 21 and 22to execute the operation programs, respectively. The simulation device22 obtains the operation command data with associated lapsing timeinformation through the communication line 25, and unites the operationcommand data of the respective machines based on the lapsing timeinformation in time series.

[0031] The simulation device 21 simulates the operations of the machinesby displaying the images of the models of the machines by animation intime series based on the united operation command data. In the casewhere the operation program includes an interlock command, the codeindicating the interlock processing is displayed.

[0032]FIG. 4 shows processing of collecting the operation command dataand uniting the collected operation command data to be performed by thesimulation device 1 as shown in FIG. 1, the simulation device 11 asshown in FIG. 2 or the first simulation device 21 as shown in FIG. 3.FIG. 5 shows processing of simulation by moving the images ofthree-dimensional models of the machines by animation to be performed bythe simulation device 1 as shown in FIG. 1, the simulation device 11 asshown in FIG. 2 or the second simulation device 21 as shown in FIG. 3.

[0033] First, communication between the simulation device and theinformation processing device (i.e. the controller of the machine, thecontrol simulator, the arithmetic processing section) for executing theoperation program of the machine constituting the system to obtain theoperation command data is enabled (Step A1). In the first embodiment asshown in FIG. 1, since the simulation device 1 functions as theinformation processing device, this step may be omitted not necessarilyperformed. In the second embodiment as shown in FIG. 2, the informationprocessing devices comprise the controllers 12, the control simulator 13and the arithmetic processing section 6 provided in the simulationdevice 1. In the third embodiment as shown in FIG. 3, the informationprocessing devices comprise the controllers 23, the control simulator 24and the simulation devices 21 and 22.

[0034] Then, the operation program for a machine constituting the systemis sent to the information processing device (Step A2) and issuescommands for executing the operation programs to the informationprocessing devices (Step A3). The information processing device executesthe operation program to obtain operation command data includingpositional information and control information, and send the obtainedoperation command data with an ID code identifying the operation program(and also identifying the machine to be controlled by the operationprogram) and lapsing time information from the start of execution of theoperation program to the simulation device.

[0035] The simulation device receives the operation command data withthe ID code and the lapsing time information (Step A4) and stores thepositional information and the control information in the order oflapsing time as historical information (Step A5). An example of thehistorical information is shown in FIG. 6 in which operations of threerobot A, B and C constituting a robot system are simulated. Inaccordance with the ID code, the lapsing time information T1, T2 and T3received from the controllers of the respective machines, the positionalinformation (position data of axes J1-J6 of the respective robots inthis example) and the control information (not shown in this example)are stored as the historical information 31 a, 31 b and 31 c.

[0036] The processing from Step S4 to Step S6 is repeatedly executeduntil a signal indicating completion of execution of the operationprogram is received from the information processing device to which theoperation program has been sent.

[0037] When it is determined that execution of the operation program iscompleted in Step A6, the procedure proceeds to Step 7 and it isdetermined whether or not the sending and execution of the operationprogram for all of the machines constituting the system are completed(Step A7). If it is not completed, the procedure returns to Step A1 tosend the remaining operation program to the associated informationprocessing device to perform the above-described processing to obtainthe historical information on the remaining machine, so that thehistorical information 31 a, 31 b and 31 c as shown in FIG. 6 isobtained.

[0038] Thus, the positional information and the control informationobtained by executing the operation programs for all of the machines inthe system with the associated lapsing time information are obtained,and then the obtained historical information on the machines arerearranged and united based on the respective lapsing time informationfor the simultaneous operations of the machine (Step A8).

[0039]FIG. 7 shows an example of a united historical informationobtained by omiting the respective historical information 31 a, 31 b and31 c for the three robots as shown in FIG. 6. At the time T0 of thestart of the operation programs, all of the three robots A, B and C havethe historical information of positional information and thus thepositional information of the three robots A, B and C is stored for thetime T0. At the time T1, the robots A and B have the historicalinformation and thus the positional information of the robots A and B atthe time T1 is stored in the common time series. At the time T2, therobots A and C have the historical positional information, and thusthese positional data are stored for the time T2. Subsequently, thehistorical data of the three robots are rearranged and stored at eachlapsing time in the common time series. Thus, the historical data of therobots constituting the robot system is united in the order of lapsingtime form a start of the simultaneous operations of the machines. In thecase where the historical information includes an interlock processingcommand, the interlock processing command is stored with the positionalinformation to be united.

[0040] The lapsing time information may be time information in executionof the operation program or lapsing time form a start of execution ofthe operation program. Information in a counter counting execution stepsof the operation program in the information processing device can beused as the time information in execution of the operation program andthe lapsing time form the start of execution of the operation program.In the case where the lapsing time from a start of the operation programis sent to the simulation device from the information processing device,the operation command data of the machines are rearranged to be unitedon the basis of the lapsing time form the start of the simultaneousoperations of the machines. In the case where the time information atthe respective operation command data is sent from the informationprocessing device to the simulation device, the time information of thestart of the operation is subtracted from the respective timeinformation at respective operation command data to obtain the lapsingtime from the start of the operation, and the operation command data ofthe machines are rearranged to be united on the basis of the obtainedlapsing time from the start of the simultaneous operations.

[0041]FIG. 5 shows processing for performing simulation of the operationof the machine system based on the united operation command data thusobtained. The processing for performing of the simulation is executed bythe simulation device 1 in the first embodiment and the simulationdevice 11 in the second embodiment and the second simulation device 22in the third embodiment.

[0042] The images of three-dimensional models of the machines arearranged at respective predetermined positions on the screen of thedisplay device 3 (B1). The positional information of the machines at thestart time T0 of the operations in the united operation command data isread and the images of three-dimensional models of the machines aremoved to the respective positions determined by the positionalinformation of the machines at the start time T0 (Step B2).

[0043] It is determined whether or not a simulation start command isissued (Step B3) to wait until the simulation start signal is issued. Itis determined that the simulation start command is issued, thepositional information of the respective machines is read from theunited operation command data in the order of lapsing time from thesimultaneous start of operation (Step B4) and the images of thethree-dimensional model of the machines are moved to the respectivepositions determined by the read positional information, to simulate theoperations of the machines (Step B5). The control information such asinterlock signals are displayed by codes or signals indicating thecontents of the control information. The processing of Steps B4 and B5is repeatedly executed until it is determined that the simulation of themachines based on all of the united operation command date is completedat Step B6, to simulate the operation of the machines in the system.

[0044] In the third embodiment, the processing of correcting and unitingthe operation command data is performed by the first simulation device22 and the processing of displaying the images of the three-dimensionalmodels of the machines by animation is performed by the secondsimulation device 21. In the first and second embodiments, the samesimulation device 1 and the same simulation device 11 perform theprocessing, the procedure may proceed from Step A8 in FIG. 4 to Step B1in FIG. 5.

[0045] In the second and third embodiment, an operation program is sentfrom the simulation device to the information processing device havingarithmetic processing function for obtaining the operation command dataof positional information by processing the operation program of themachine. The operation program is not necessarily sent from thesimulation device to the information processing device. The operationprogram may be inputted to the controller of the machine or theoperation simulator and the positional information, i.e., operationcommand data obtained by executing the operation program with lapsingtime information may be sent to the simulation device to collect thepositional information of all the machines constituting the system withthe respective lapsing time information.

[0046] According to the present invention, operations of machinesaccording to respective operation programs are analyzed by onearithmetic processing unit or a plurality of arithmetic processing unitsto obtain the positional information of the machines with associatedlapsing time information so that the positional information of all ofthe machines constituting the system is collected and united in theorder of lapsing time of simultaneous operations of the machines, andthe operations of the machine are simulated by moving modeled images ofthe machines according to the lapsing time from the start of thesimultaneous operations. Thus, it is not necessary for one arithmeticprocessing device to execute the operation programs for the machines toobtain the operation data of the machines constituting the system at atime so that an expensive information processing device is not requiredto provide the simulation device at low cost.

[0047] Further, if a new machine is added to the system, the simulationof the operations of all of the machines constituting the system can beperformed by obtaining the positional information of the newly addedmachine with the lapsing time information. If any of the machinesconstituting the system is changed, the simulation of the operations ofthe modified system can be performed by obtaining the positionalinformation of the changed machine, to cope with the modification of thesystem with ease.

What is claimed is:
 1. A simulation device for simulating operations ofa plurality of machines which operate in accordance with operationprograms, said simulation device comprising; operation program providingmeans for providing operation programs to arithmetic processing meansfor obtaining lapsing time information of operations of the machines andpositional information of the machines associated with the lapsing timeinformation; receiving means for receiving the lapsing time informationand the positional information obtained by the arithmetic processingmeans; uniting means for uniting the positional information of theplurality of machines received by said receiving means in the order oflapsing time in simultaneous operations of the machines using thelapsing time information in the operations of the plurality of machinesreceived by said receiving means; and display control means forsimultaneously displaying modeled images of the plurality of machines ona display device by animation based on the positional information of theplurality of machines united by said uniting means to thereby simulatethe simultaneous operations of the plurality of machines.
 2. Asimulation device for simulating operations of a plurality of machinesaccording to claim 1, including the arithmetic processing device.
 3. Asimulation device for simulating operations of a plurality of machinesaccording to claim 1, wherein said lapsing time information includes oneof time information in execution of the operation program and lapsingtime from a start of execution of the operation program.
 4. A simulationdevice for simulating operations of a plurality of machines according toclaim 1, wherein the simulation device is divided into a firstsimulating section having said operation program providing means, saidreceiving means and said uniting means; and a second simulating sectionhaving said display control means.
 5. A simulation device for simulatingoperations of a plurality of machines according to claim 1, wherein saidoperation program includes an interlock command for the plurality ofmachines and said display control means displays modeled images of theplurality of machines on the display device by animation taking accountof the interlock command.
 6. A simulation device for simulatingoperations of a plurality of machines according to claim 1, wherein saidarithmetic processing means includes one of a controller of the machine,an information processing device having the arithmetic processing meansequivalent to the controller of the machine.
 7. A simulation device forsimulating operations of a plurality of machines according to claim 1,wherein said machines include industrial robots.
 8. A simulation devicefor simulating operations of a plurality of machines according to claim1, wherein said machines include machine tools.
 9. A simulation devicefor simulating operations of a plurality of machines which operate inaccordance with operation programs, said simulation device comprising:means for receiving lapsing time information of operations of themachines and the positional information of the machines associated withthe lapsing time information obtained by arithmetic processing means;uniting means for uniting the positional information of the plurality ofmachines received by said receiving means in the order of lapsing timein simultaneous operations of the machines using the lapsing timeinformation in the operations of the plurality of machines received bysaid receiving means; and display control means for simultaneouslydisplaying modeled images of the plurality of machines on a displaydevice by animation based on the positional information of the pluralityof machines united by said uniting means to thereby simulatesimultaneous operations of the plurality of machines.
 10. A simulationdevice for simulating operations of a plurality of machines according toclaim 9, including the arithmetic processing device.
 11. A simulationdevice for simulating operations of a plurality of machines according toclaim 9, wherein said lapsing time information includes one of timeinformation in execution of the operation program and lapsing time froma start of execution of the operation program.
 12. A simulation devicefor simulating operations of a plurality of machines according to claim9, wherein the simulation device is divided into a first simulatingsection having said receiving means and said uniting means; and a secondsimulating section having said display control means.
 13. A simulationdevice for simulating operations of a plurality of machines according toclaim 9, wherein said operations program includes an interlock commandfor the plurality of machines and said display control means displaysmodeled images of the plurality of machines an the display device byanimation taking account of the interlock command.
 14. A simulationdevice for simulating operations of a plurality of machines according toclaim 9, wherein said arithmetic process means include one of acontroller of the machine, an information processing device having thearithmetic processing means equivalent to the controller of the machine.15. A simulation device or simulating operations of a plurality ofmachines according to claim 9, wherein said machines include industrialrobots.
 16. A simulation device for simulating operations of pluralityof machines according to claim 9, wherein said machines include machinetools.